<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8">
<title>Dart : Libraries : box2d : Joint</title>
</head>

<body>

<header></header>

<h1 id="title">class <a name='Joint::Joint'>Joint</a></h1>

<section id="inheritance">

<section class="supertype">
<h2>Supertype:</h2>
<ul><li>Object</li></ul>
</section>

<section class="subtypes">
<h2>Subtypes:</h2>
<ul>
<li><a href='ConstantVolumeJoint.html#ConstantVolumeJoint::ConstantVolumeJoint'>ConstantVolumeJoint</a></li>
<li><a href='DistanceJoint.html#DistanceJoint::DistanceJoint'>DistanceJoint</a></li>
<li><a href='RevoluteJoint.html#RevoluteJoint::RevoluteJoint'>RevoluteJoint</a></li>
</ul>
</section>

</section>

<section id="summary">

 The base joint class. Joints are used to constrain two bodies together in
 various fashions. Some joints also feature limits and motors.
</section>

<section id="fields">
<h2>Fields</h2>
<dl>
<dt>
<span class="field-type"><code><code><a href='bool.html#bool::bool'>bool</a></code></code></span>
<span class="field-name"><code><a name='Joint::active'>active
</a></code></span>
</dt>
<dd>

 Short-cut function to determine if either body is inactive.
</dd>
<dt>
<span class="field-type"><code><code><a href='Body.html#Body::Body'>Body</a></code></code></span>
<span class="field-name"><code><a name='Joint::bodyA'>bodyA
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='Body.html#Body::Body'>Body</a></code></code></span>
<span class="field-name"><code><a name='Joint::bodyB'>bodyB
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='bool.html#bool::bool'>bool</a></code></code></span>
<span class="field-name"><code><a name='Joint::collideConnected'>collideConnected
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='JointEdge.html#JointEdge::JointEdge'>JointEdge</a></code></code></span>
<span class="field-name"><code><a name='Joint::edgeA'>edgeA
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='JointEdge.html#JointEdge::JointEdge'>JointEdge</a></code></code></span>
<span class="field-name"><code><a name='Joint::edgeB'>edgeB
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='num.html#num::num'>num</a></code></code></span>
<span class="field-name"><code><a name='Joint::invIA'>invIA
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='num.html#num::num'>num</a></code></code></span>
<span class="field-name"><code><a name='Joint::invIB'>invIB
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='num.html#num::num'>num</a></code></code></span>
<span class="field-name"><code><a name='Joint::invMassA'>invMassA
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='num.html#num::num'>num</a></code></code></span>
<span class="field-name"><code><a name='Joint::invMassB'>invMassB
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='bool.html#bool::bool'>bool</a></code></code></span>
<span class="field-name"><code><a name='Joint::islandFlag'>islandFlag
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='Vector.html#Vector::Vector'>Vector</a></code></code></span>
<span class="field-name"><code><a name='Joint::localCenterA'>localCenterA
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='Vector.html#Vector::Vector'>Vector</a></code></code></span>
<span class="field-name"><code><a name='Joint::localCenterB'>localCenterB
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='int.html#int::int'>int</a></code></code></span>
<span class="field-name"><code><a name='Joint::type'>type
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='Object.html#Object::Object'>Object</a></code></code></span>
<span class="field-name"><code><a name='Joint::userData'>userData
</a></code></span>
</dt>
<dd>
</dd>
</dl>
</section>

<section id="constructors">
<h2>Constructors</h2>
<dl>
<dt>
<code><a href='Joint.html#Joint::Joint'>Joint</a>(<code><a href='JointDef.html#JointDef::JointDef'>JointDef</a></code> <a name='Joint::::def'>def</a>)</code>
</dt>
<dd>
</dd>
<dt>
<code><a href='Joint.html#Joint::Joint'>Joint</a>.<a name='Joint::create'>create</a>(<code><a href='World.html#World::World'>World</a></code> <a name='Joint::create::argWorld'>argWorld</a>, <code><a href='JointDef.html#JointDef::JointDef'>JointDef</a></code> <a name='Joint::create::def'>def</a>)</code>
</dt>
<dd>
</dd>
</dl>
</section>

<section id="methods">
<h2>Methods</h2>
<dl>
<dt>
<code>static void <a name='Joint::destroy'>destroy</a>(<code><a href='Joint.html#Joint::Joint'>Joint</a></code> <a name='Joint::destroy::joint'>joint</a>)</code></dt>
<dd>
</dd>
<dt>
<code>void <a name='Joint::destructor'>destructor</a>()</code></dt>
<dd>

 Override to handle destruction of joint
</dd>
<dt>
<code>void <a name='Joint::getAnchorA'>getAnchorA</a>(<code><a href='Vector.html#Vector::Vector'>Vector</a></code> <a name='Joint::getAnchorA::argOut'>argOut</a>)</code></dt>
<dd>

 Get the anchor point on bodyA in world coordinates.
</dd>
<dt>
<code>void <a name='Joint::getAnchorB'>getAnchorB</a>(<code><a href='Vector.html#Vector::Vector'>Vector</a></code> <a name='Joint::getAnchorB::argOut'>argOut</a>)</code></dt>
<dd>

 Get the anchor point on bodyB in world coordinates.
</dd>
<dt>
<code>void <a name='Joint::getReactionForce'>getReactionForce</a>(<code><a href='num.html#num::num'>num</a></code> <a name='Joint::getReactionForce::inv_dt'>inv_dt</a>, <code><a href='Vector.html#Vector::Vector'>Vector</a></code> <a name='Joint::getReactionForce::argOut'>argOut</a>)</code></dt>
<dd>

 Get the reaction force on body2 at the joint anchor in Newtons.
</dd>
<dt>
<code><code><a href='num.html#num::num'>num</a></code> <a name='Joint::getReactionTorque'>getReactionTorque</a>(<code><a href='num.html#num::num'>num</a></code> <a name='Joint::getReactionTorque::inv_dt'>inv_dt</a>)</code></dt>
<dd>

 Get the reaction torque on body2 in N*m.
</dd>
<dt>
<code>void <a name='Joint::initVelocityConstraints'>initVelocityConstraints</a>(<code><a href='TimeStep.html#TimeStep::TimeStep'>TimeStep</a></code> <a name='Joint::initVelocityConstraints::step'>step</a>)</code></dt>
<dd>
</dd>
<dt>
<code><code><a href='bool.html#bool::bool'>bool</a></code> <a name='Joint::solvePositionConstraints'>solvePositionConstraints</a>(<code><a href='num.html#num::num'>num</a></code> <a name='Joint::solvePositionConstraints::baumgarte'>baumgarte</a>)</code></dt>
<dd>

 This returns true if the position errors are within tolerance.
</dd>
<dt>
<code>void <a name='Joint::solveVelocityConstraints'>solveVelocityConstraints</a>(<code><a href='TimeStep.html#TimeStep::TimeStep'>TimeStep</a></code> <a name='Joint::solveVelocityConstraints::step'>step</a>)</code></dt>
<dd>
</dd>
</dl>
</section>

<footer></footer>

</body></html>
